<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
  -->

<div class="sp-dialog-container">
    <div class="sp-dialog-content padding-20">
        <div fxFlex="100" fxLayout="column">
            <sp-save-pipeline-settings
                *ngIf="!operationCompleted && !operationProgress"
                [currentPipelineName]="pipeline.name"
                [submitPipelineForm]="submitPipelineForm"
                [pipeline]="pipeline"
                [storageOptions]="storageOptions"
            >
            </sp-save-pipeline-settings>

            <sp-multi-step-status-indicator
                *ngIf="operationProgress || operationCompleted"
                [statusIndicators]="statusIndicators"
            >
            </sp-multi-step-status-indicator>

            <div *ngIf="finalPipelineOperationStatus" class="mt-10">
                <mat-divider></mat-divider>
                <sp-pipeline-started-status
                    class="mt-10"
                    [forceStopDisabled]="true"
                    [action]="pipelineAction"
                    [pipelineOperationStatus]="finalPipelineOperationStatus"
                >
                </sp-pipeline-started-status>
            </div>
        </div>
    </div>
    <mat-divider></mat-divider>
    <div class="sp-dialog-actions">
        <button
            mat-raised-button
            color="accent"
            (click)="hide(false)"
            *ngIf="operationCompleted"
        >
            Create another pipeline
        </button>
        <button
            mat-raised-button
            color="accent"
            data-cy="sp-navigate-to-pipeline-overview"
            (click)="navigateToPipelineOverview()"
            *ngIf="operationCompleted"
        >
            Open pipeline overview
        </button>
        <button
            *ngIf="!operationCompleted && !operationSuccess"
            [disabled]="
                !submitPipelineForm.valid ||
                operationProgress ||
                operationCompleted
            "
            mat-button
            mat-raised-button
            color="accent"
            (click)="savePipeline()"
            style="margin-right: 10px"
            data-cy="sp-editor-apply"
        >
            Apply
        </button>
        <button
            *ngIf="
                !operationProgress && (!operationCompleted || !operationSuccess)
            "
            mat-button
            mat-raised-button
            class="mat-basic"
            (click)="hide(true)"
        >
            {{ 'Cancel' }}
        </button>
    </div>
</div>
